Dashboard UI Components 模块概述
1. 模块简介
Dashboard UI Components 是一个专为 Loki Mode 设计的现代化、模块化 Web 组件库,提供了一套完整的可复用 UI 组件,用于构建 AI 系统的管理和监控界面。该模块采用 Web Components 技术,提供了从任务管理、会话控制、日志监控到成本分析、质量评估等全方位的用户界面组件。
核心价值
- 模块化设计:每个组件都是独立的 Web Component,可单独使用或组合使用
- 统一设计语言:基于 Anthropic 设计系统,提供一致的视觉体验
- 多环境支持:支持浏览器、VS Code 扩展和 CLI 嵌入 HTML 环境
- 主题系统:内置浅色/深色/高对比度主题,支持自动检测和手动切换
- 可访问性优先:完整支持 ARIA 属性和键盘导航
2. 架构概览
Dashboard UI Components 模块采用分层架构设计,从核心基础设施到功能组件形成完整的组件生态系统。
graph TB
subgraph "核心基础设施层"
A[Type Definitions
类型定义] B[Core Theme
核心主题] C[Unified Styles
统一样式] end subgraph "功能组件层" D[Task & Session
任务与会话] E[Monitoring & Observability
监控与可观测性] F[Memory & Learning
记忆与学习] G[Cost & Quality
成本与质量] H[Admin & Infrastructure
管理与基础设施] end A --> B A --> C B --> D C --> D B --> E C --> E B --> F C --> F B --> G C --> G B --> H C --> H
类型定义] B[Core Theme
核心主题] C[Unified Styles
统一样式] end subgraph "功能组件层" D[Task & Session
任务与会话] E[Monitoring & Observability
监控与可观测性] F[Memory & Learning
记忆与学习] G[Cost & Quality
成本与质量] H[Admin & Infrastructure
管理与基础设施] end A --> B A --> C B --> D C --> D B --> E C --> E B --> F C --> F B --> G C --> G B --> H C --> H
架构特点
- 类型安全:完整的 TypeScript 类型定义,提供开发时类型检查
- 主题驱动:基于 CSS 变量的主题系统,支持运行时切换
- 组件独立:每个功能组件独立封装,可单独导入使用
- API 集成:内置 API 客户端,与后端服务无缝通信
- 事件驱动:组件间通过自定义事件通信,降低耦合度
3. 核心功能模块
3.1 类型定义系统 (Type Definitions)
提供完整的 TypeScript 类型定义,包括主题配置、设计令牌、API 客户端、状态管理等类型。
主要功能:
- 主题和设计令牌类型
- API 客户端和数据模型类型
- Web Component 属性和事件类型
- 状态管理类型定义
核心导出:
ThemeName、ThemeDefinition- 主题类型Task、Project、SystemStatus- 数据模型LokiApiClient- API 客户端类型AppState、LokiState- 状态管理类型
3.2 主题系统 (Core Theme & Unified Styles)
提供统一的主题管理和样式系统,支持多种主题变体和自动上下文检测。
主要功能:
- 5 种预定义主题(浅色、深色、高对比度、VS Code 浅色/深色)
- 设计令牌系统(间距、圆角、排版、动画等)
- 键盘快捷键管理
- ARIA 模式库
- 自动上下文检测(浏览器/VS Code/CLI)
核心组件:
UnifiedThemeManager- 主题管理类KeyboardHandler- 键盘事件处理LokiElement- 组件基类
3.3 任务与会话管理 (Task and Session Management)
提供任务看板、会话控制、运行管理、检查点和 PRD 检查清单等组件。
主要功能:
- 看板式任务管理(拖放排序)
- 会话生命周期控制(启动/暂停/恢复/停止)
- 运行记录管理(取消/重放)
- 检查点管理(创建/回滚)
- PRD 检查清单(验证/豁免)
核心组件:
LokiTaskBoard- 任务看板LokiSessionControl- 会话控制LokiRunManager- 运行管理LokiCheckpointViewer- 检查点查看器LokiChecklistViewer- 检查清单查看器
3.4 监控与可观测性 (Monitoring and Observability)
提供系统状态监控、日志流、上下文追踪、分析面板和 RARV 时间线等组件。
主要功能:
- 系统状态概览(会话、任务、代理等)
- 实时日志流(过滤、搜索、自动滚动)
- 上下文窗口使用率追踪
- 活动热力图和趋势分析
- RARV 执行周期可视化
核心组件:
LokiOverview- 系统概览LokiAppStatus- 应用状态LokiLogStream- 日志流LokiContextTracker- 上下文追踪器LokiAnalytics- 分析面板LokiRarvTimeline- RARV 时间线
3.5 记忆与学习 (Memory and Learning)
提供记忆浏览器、学习仪表板和提示词优化器组件。
主要功能:
- 多类型记忆内容浏览(片段、模式、技能)
- 学习指标可视化(信号、趋势、效率)
- 提示词优化状态监控
- 记忆合并操作
- 跨工具学习分析
核心组件:
LokiMemoryBrowser- 记忆浏览器LokiLearningDashboard- 学习仪表板LokiPromptOptimizer- 提示词优化器
3.6 成本与质量 (Cost and Quality)
提供成本仪表板、质量门控和质量评分组件。
主要功能:
- 实时成本监控(代币使用、模型/阶段统计)
- 预算追踪与预警
- 质量门控状态可视化
- 质量评分与趋势分析
- 发现统计与分类
核心组件:
LokiCostDashboard- 成本仪表板LokiQualityGates- 质量门控LokiQualityScore- 质量评分
3.7 管理与基础设施 (Administration and Infrastructure)
提供 API 密钥管理、审计日志、租户切换、通知中心、委员会仪表板和迁移仪表板。
主要功能:
- API 密钥生命周期管理(创建/轮换/删除)
- 审计日志浏览与完整性验证
- 多租户上下文切换
- 系统通知管理
- 委员会监控与代理管理
- 迁移过程监控
核心组件:
LokiApiKeys- API 密钥管理LokiAuditViewer- 审计日志查看器LokiTenantSwitcher- 租户切换器LokiNotificationCenter- 通知中心LokiCouncilDashboard- 委员会仪表板LokiMigrationDashboard- 迁移仪表板
4. 技术栈与依赖
| 技术/依赖 | 用途 |
|---|---|
| Web Components v1 | 组件化开发 |
| Shadow DOM v1 | 样式隔离 |
| CSS Custom Properties | 主题系统 |
| TypeScript 4.0+ | 类型安全 |
| Fetch API | HTTP 通信 |
| WebSocket (可选) | 实时通信 |
| Intersection Observer | 可见性感知 |
5. 快速开始
5.1 基础使用
<!DOCTYPE html>
<html>
<head>
<title>Loki Dashboard</title>
</head>
<body>
<!-- 系统概览 -->
<loki-overview api-url="http://localhost:57374"></loki-overview>
<!-- 任务看板 -->
<loki-task-board api-url="http://localhost:57374" theme="dark"></loki-task-board>
<!-- 日志流 -->
<loki-log-stream api-url="http://localhost:57374" auto-scroll></loki-log-stream>
<script type="module">
// 导入组件
import 'dashboard-ui/components/loki-overview.js';
import 'dashboard-ui/components/loki-task-board.js';
import 'dashboard-ui/components/loki-log-stream.js';
// 初始化主题系统
import { UnifiedThemeManager } from 'dashboard-ui/core/loki-unified-styles';
UnifiedThemeManager.init();
</script>
</body>
</html>
5.2 TypeScript 集成
import { init, getApiClient, getState } from 'dashboard-ui/types';
// 初始化组件库
const result = init({
apiUrl: 'http://localhost:57374',
autoDetectContext: true
});
console.log(`Theme: ${result.theme}, Context: ${result.context}`);
// 使用 API 客户端
const apiClient = getApiClient();
const projects = await apiClient.listProjects();
// 使用状态管理
const state = getState();
state.set('ui.theme', 'dark', true);
6. 核心特性
6.1 主题系统
- 5 种预定义主题
- 自动上下文检测
- 运行时主题切换
- 完整的 CSS 变量支持
- 系统偏好同步
6.2 可访问性
- 完整的键盘导航支持
- ARIA 属性和模式
- 高对比度主题
- 屏幕阅读器友好
- 语义化 HTML
6.3 性能优化
- 可见性感知轮询
- 虚拟滚动(日志组件)
- 数据缓存
- 懒加载
- 增量更新
6.4 开发体验
- TypeScript 类型支持
- 热模块替换(开发模式)
- 组件文档
- 示例代码
- 调试工具
7. 相关模块
- Dashboard Backend - 提供 REST API 和 WebSocket 服务
- Dashboard Frontend - 提供 React 集成和 Web Component 包装器
- API Server & Services - 核心后端服务
- Observability - 后端可观测性系统
8. 注意事项与限制
浏览器兼容性
- 支持现代浏览器(Chrome 67+, Firefox 63+, Safari 10.1+, Edge 79+)
- 需要 Web Components 和 Shadow DOM 支持
- 不支持 IE11 及更早版本
API 依赖
- 组件需要后端 API 服务支持
- API 端点不可用时会显示错误状态
- 网络请求失败时有重试机制
性能考虑
- 大量数据加载时可能有延迟
- 日志组件有最大行数限制
- 建议在生产环境实现适当的缓存策略
安全注意事项
- 组件不会存储或传输敏感信息
- 确保 API 连接使用 HTTPS
- 用户输入进行了 HTML 转义,防止 XSS 攻击
9. 总结
Dashboard UI Components 模块为 Loki Mode 提供了一套完整、现代化的 UI 组件库,从核心基础设施到功能组件形成了完整的生态系统。该模块的设计注重模块化、可访问性、性能和开发体验,使开发者能够快速构建功能丰富的 AI 系统管理界面。
通过该模块,用户可以:
- 轻松管理和监控 AI 系统运行状态
- 实时查看日志和学习指标
- 控制任务和会话生命周期
- 分析成本和质量数据
- 管理系统配置和基础设施
所有组件都遵循统一的设计语言,提供一致的用户体验,并支持多种部署环境(浏览器、VS Code、CLI)。